Rolling Binary Trees: A Guide to Common Design Patterns in Java https://foojay.io/today/rolling-binary-trees-a-guide-to-common-design-patterns-in-java/